1. Field of the Invention
The present invention relates to an image processing apparatus, printing apparatus, and image processing method. Particularly, the present invention relates to an image processing apparatus, printing apparatus, and image processing method capable of performing a data process for each line in bi-directions, and efficiently compressing/decompressing data to be used in an image process on adjacent lines.
2. Description of the Related Art
In these days, OA devices such as a personal computer (PC), copying machine, and wordprocessor have become popular. As a kind of image forming (printing) apparatus for these devices, an apparatus which performs digital image printing by an inkjet method has been rapidly developed and prevailed. The OA devices are required for providing more advanced functions, and printing an image in color. To meet this demand, various color inkjet printing apparatuses have been developed.
An inkjet printing apparatus generally includes a carriage which supports a printhead and ink tank, a conveyance unit which conveys printing paper, and a controller which controls them. The inkjet printing apparatus performs printing operation by scanning a printhead for discharging ink droplets from a plurality of orifices in a direction (main scanning direction) perpendicular to the printing paper conveyance direction (sub-scanning direction), while intermittently conveying printing paper by a distance corresponding to the print width during a non-printing period. A color inkjet printing apparatus forms a color image by superposing ink droplets of a plurality of colors discharged from a plurality of printheads.
According to the inkjet printing method, a character, figure, and the like are printed by discharging small ink droplets from orifices onto a printing medium in accordance with a print signal. This printing method is advantageous because it is non-impact printing which hardly generates noise, its running cost is low, and it can easily downsize the apparatus and easily print in color. For this reason, the inkjet printing method is widely applied to an image forming (printing) means in a printing apparatus such as a copying machine, printer, or facsimile apparatus, that is used alone or together with a computer or wordprocessor.
In general, color inkjet printing implements color printing using inks of four colors, that is, three, cyan (C), magenta (M), and yellow (Y) color inks and a black (Bk) ink. Recent available color inkjet printing improves graininess, tonality, and color reproducibility by adding low-density inks of light cyan and light magenta, and special color inks of red and green to the four color inks.
Raster image data such as RGB multi-valued image data based on image information input from a host PC undergo color conversion such as CSC or gamma correction, and are converted into multi-valued data formed from the components of ink colors (e.g., Bk, C, M, and Y). The multi-valued data are converted into binary data for each ink color by pseudo halftoning using an error diffusion method or dithering method. In this manner, multi-valued image data are converted into data (binary data in this case) outputtable from a printhead.
Dithering has a trade-off between resolution and tonality owing to its feature. For example, higher tonality requires a larger dither matrix, which decreases the resolution. The error diffusion method can increase resolution and tonality, but has intrinsic problems. For example, a chain of dots or a chain of unprinted portions appears, and an unintended streak appears regularly. To solve these problems, for example, Japanese Patent Laid-Open No. 3-151762 discloses a method of switching the process direction of error diffusion between lines so as not to fix the error diffusion direction. This method can increase resolution and tonality, and solve poor image quality owing to error diffusion. As a result, high quality image data outputtable to a printhead can be generated.
The error diffusion method requires an error memory for storing an error to be diffused to the next line in every line process, in order to diffuse an error to a pixel other than one on the same line as that of a process pixel. An error to be diffused to the next line according to the method of switching the process direction of error diffusion is generated in the same direction as the process direction, and stored in the error memory.
A bandwidth requirement for a error memory causes many problems. The first serious problem is influence on pseudo halftoning performance. Access to the error memory requested of a high bandwidth may result in bottleneck for satisfactory pseudo halftoning performance. The second serious problem is influence over the entire system. In some systems, a memory necessary for another data process and system control and a system memory are physically shared to reduce the production cost of the overall apparatus. In such a system, frequent access to the error memory space adversely affects another image data process and the system operation.
Note that a high memory bandwidth requirement for frequent data input/output access during an image data process is not an issue specific to a quantization process. The high memory bandwidth requirement is an issue for many image data processes such as various filtering processes, resolution conversion, compression/decompression, color conversion/correction, and rasterization.
There is also proposed a method of compressing data in an image process which changes the data process direction. Japanese Patent No. 3410122 discloses a method of compressing data, storing the compressed data in a memory, and creating decompressed data while changing the data read-out method depending on whether to rotate the data by 180°. According to this method, data array in a right-left direction and upper-lower direction need to be swapped depending on whether to rotate the data.
This conventional method, however, requires a very high memory band to process a high-resolution image at high speed.
For example, when 12 bits represent generated error data considering correction control using a threshold and diffusion coefficient, the memory needs to have a capacity of the number of pixels of one raster×12 bits for each ink color. For example, when diffusing an error to the same line as that of a process pixel and a line below it, a memory capacity corresponding to six ink colors, a 1,200-dpi resolution, and a 24″ maximum print width is 6 colors×24″×1200 dpi×12 bits×1 line=260 Kbytes.
When a system LSI serving as the control center of the overall system internally implements an image data process including pseudo halftoning, the cost may rise if the error memory is formed from an SRAM incorporated in the LSI. To prevent this, the error memory desirably shares a system memory externally connected to the system LSI. When giving attention to processing a pixel of interest, one read access and one write access of error data occur for one color. In processing six colors, the error memory needs to be accessed a total of 12 times. To perform a 2-cycle process per pixel at an operating frequency of 200 MHz, the requested memory band becomes as very high as 200 MHz/2×12 times×12 bits=1.8 Gbytes/sec.
A diffused error may also be stored in the memory after compression in order to reduce the memory band. In this case, the direction of the error diffusion process is arbitrarily switched between lines, so a mechanism of determining the necessity of swapping compressed data in decompression is indispensable.